package com.logo.egitim.crm.web;

import java.io.Serializable;
import java.util.List;

import javax.annotation.PostConstruct;
import javax.enterprise.context.SessionScoped;
import javax.faces.application.FacesMessage;
import javax.faces.context.FacesContext;
import javax.inject.Inject;
import javax.inject.Named;

import com.logo.egitim.crm.entity.Kullanici;
import com.logo.egitim.crm.service.KullaniciService;

@Named
@SessionScoped
public class KullaniciBean implements Serializable{

	
	private Kullanici kullanici = new Kullanici();
	private List<Kullanici> kullaniciListesi;
	
	@Inject KullaniciService kullaniciService;
	
	public void kaydet() throws Exception{
		boolean sonuc = kullaniciService.kaydet(kullanici);
		if(sonuc){
			kullanici = new Kullanici();
			listeYukle();
			mesajEkle("Kayit basari ile yapildi..");
		}
		else{
			mesajEkle("Kayit yapilamadi..");
		}
	}
	
	public void mesajEkle(String mesaj){
		try {
			FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(mesaj));
		} catch (Exception e) {
		}
	}
	
	public void sil(Kullanici kul) throws Exception{
		boolean sonuc = kullaniciService.sil(kul);
		if(sonuc){
			mesajEkle("Silme basari ile yapildi...");
			listeYukle();
		}
		else{
			mesajEkle("Silme yapilamadi...");
		}
		
	}
	
	public void sec(Kullanici kul){
		this.kullanici = kul;
	}
	
	public void duzenle() throws Exception{
		boolean sonuc = kullaniciService.duzenle(kullanici);
		if(sonuc){
			mesajEkle("Duzenleme basari ile yapildi...");
			listeYukle();
		}
		else{
			mesajEkle("Duzenleme isleminde hata olustu...");
		}
	}
	
	@PostConstruct
	public void listeYukle(){
		kullaniciListesi = kullaniciService.listeGetir();
	}

	public Kullanici getKullanici() {
		return kullanici;
	}

	public void setKullanici(Kullanici kullanici) {
		this.kullanici = kullanici;
	}

	public List<Kullanici> getKullaniciListesi() {
		return kullaniciListesi;
	}

	public void setKullaniciListesi(List<Kullanici> kullaniciListesi) {
		this.kullaniciListesi = kullaniciListesi;
	}
	
	
}
